package com.hjb.service.domain.product;

import java.math.BigDecimal;
import javax.persistence.*;

@Table(name = "site_product")
public class Product {
    /**
     * 产品分类 活期(10001)  定期(7日标20007,28日标20028,56日标20056,)
     */
    @Id
    @Column(name = "product_id")
    private Integer productId;

    /**
     * 1:活期，2:定期，3:体验标
     */
    private Integer type;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 产品分类名称
     */
    @Column(name = "product_name")
    private String productName;

    /**
     * 产品提供方名称
     */
    private String provider;

    /**
     * 备注
     */
    private String info;

    /**
     * 产品简介
     */
    private String title;

    /**
     * 创建者（后台用户）
     */
    private Integer creator;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private String createTime;

    /**
     * 修改人ID
     */
    private Integer updator;

    /**
     * 修改时间
     */
    @Column(name = "update_time")
    private String updateTime;

    /**
     * 总额
     */
    @Column(name = "total_amount")
    private BigDecimal totalAmount;

    /**
     * 可购余额
     */
    private BigDecimal balance;

    /**
     * 起投金额
     */
    @Column(name = "min_amount")
    private Long minAmount;

    /**
     * 投资总上线
     */
    @Column(name = "max_amount")
    private Long maxAmount;

    /**
     * 单笔最小转出
     */
    @Column(name = "min_redeem")
    private Long minRedeem;

    /**
     * 单笔最大转出
     */
    @Column(name = "max_redeem")
    private Long maxRedeem;

    /**
     * 单月最大转出
     */
    @Column(name = "max_monthly")
    private Long maxMonthly;

    /**
     * 单日最大转出
     */
    @Column(name = "max_daily")
    private Long maxDaily;

    /**
     * 每月最大转出次数
     */
    @Column(name = "max_number")
    private Integer maxNumber;

    /**
     * 投标递增金额
     */
    @Column(name = "step_amount")
    private Long stepAmount;

    /**
     * 年化收益
     */
    private BigDecimal rate;

    /**
     * 平台加息
     */
    @Column(name = "add_rate")
    private BigDecimal addRate;

    /**
     * 复利利率
     */
    @Column(name = "compound_rate")
    private BigDecimal compoundRate;

    /**
     * 项目周期-天
     */
    @Column(name = "product_time")
    private Integer productTime;

    /**
     * 项目周期（按月）  1:0-1个月，3:1-3个月
     */
    private Integer term;

    /**
     * 合同模板路径
     */
    @Column(name = "agreement_url")
    private String agreementUrl;

    /**
     * 风险提示函路径
     */
    @Column(name = "risk_letter_url")
    private String riskLetterUrl;

    /**
     * 购买时要求最低风险评级级别
     */
    @Column(name = "risk_level")
    private Integer riskLevel;

    /**
     * 状态：1售卖，0停售
     */
    private Integer stauts;

    /**
     * 能否使用加息劵 1可以，0不可以
     */
    @Column(name = "is_coupon")
    private Integer isCoupon;

    /**
     * 购买锁定期：天
     */
    @Column(name = "lock_period")
    private Integer lockPeriod;

    /**
     * 能否使用红包  1:可以 2不能
     */
    @Column(name = "is_packet")
    private Integer isPacket;

    /**
     * 计息方式：0:T+0,1:t+1,2:t+2
     */
    @Column(name = "interest_type")
    private Integer interestType;

    /**
     * 备用字段
     */
    private String remark2;

    /**
     * 获取产品分类 活期(10001)  定期(7日标20007,28日标20028,56日标20056,)
     *
     * @return product_id - 产品分类 活期(10001)  定期(7日标20007,28日标20028,56日标20056,)
     */
    public Integer getProductId() {
        return productId;
    }

    /**
     * 设置产品分类 活期(10001)  定期(7日标20007,28日标20028,56日标20056,)
     *
     * @param productId 产品分类 活期(10001)  定期(7日标20007,28日标20028,56日标20056,)
     */
    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    /**
     * 获取1:活期，2:定期，3:体验标
     *
     * @return type - 1:活期，2:定期，3:体验标
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置1:活期，2:定期，3:体验标
     *
     * @param type 1:活期，2:定期，3:体验标
     */
    public void setType(Integer type) {
        this.type = type;
    }

    /**
     * 获取排序
     *
     * @return sort - 排序
     */
    public Integer getSort() {
        return sort;
    }

    /**
     * 设置排序
     *
     * @param sort 排序
     */
    public void setSort(Integer sort) {
        this.sort = sort;
    }

    /**
     * 获取产品分类名称
     *
     * @return product_name - 产品分类名称
     */
    public String getProductName() {
        return productName;
    }

    /**
     * 设置产品分类名称
     *
     * @param productName 产品分类名称
     */
    public void setProductName(String productName) {
        this.productName = productName;
    }

    /**
     * 获取产品提供方名称
     *
     * @return provider - 产品提供方名称
     */
    public String getProvider() {
        return provider;
    }

    /**
     * 设置产品提供方名称
     *
     * @param provider 产品提供方名称
     */
    public void setProvider(String provider) {
        this.provider = provider;
    }

    /**
     * 获取备注
     *
     * @return info - 备注
     */
    public String getInfo() {
        return info;
    }

    /**
     * 设置备注
     *
     * @param info 备注
     */
    public void setInfo(String info) {
        this.info = info;
    }

    /**
     * 获取产品简介
     *
     * @return title - 产品简介
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置产品简介
     *
     * @param title 产品简介
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取创建者（后台用户）
     *
     * @return creator - 创建者（后台用户）
     */
    public Integer getCreator() {
        return creator;
    }

    /**
     * 设置创建者（后台用户）
     *
     * @param creator 创建者（后台用户）
     */
    public void setCreator(Integer creator) {
        this.creator = creator;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public String getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取修改人ID
     *
     * @return updator - 修改人ID
     */
    public Integer getUpdator() {
        return updator;
    }

    /**
     * 设置修改人ID
     *
     * @param updator 修改人ID
     */
    public void setUpdator(Integer updator) {
        this.updator = updator;
    }

    /**
     * 获取修改时间
     *
     * @return update_time - 修改时间
     */
    public String getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置修改时间
     *
     * @param updateTime 修改时间
     */
    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    /**
     * 获取总额
     *
     * @return total_amount - 总额
     */
    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    /**
     * 设置总额
     *
     * @param totalAmount 总额
     */
    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    /**
     * 获取可购余额
     *
     * @return balance - 可购余额
     */
    public BigDecimal getBalance() {
        return balance;
    }

    /**
     * 设置可购余额
     *
     * @param balance 可购余额
     */
    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    /**
     * 获取起投金额
     *
     * @return min_amount - 起投金额
     */
    public Long getMinAmount() {
        return minAmount;
    }

    /**
     * 设置起投金额
     *
     * @param minAmount 起投金额
     */
    public void setMinAmount(Long minAmount) {
        this.minAmount = minAmount;
    }

    /**
     * 获取投资总上线
     *
     * @return max_amount - 投资总上线
     */
    public Long getMaxAmount() {
        return maxAmount;
    }

    /**
     * 设置投资总上线
     *
     * @param maxAmount 投资总上线
     */
    public void setMaxAmount(Long maxAmount) {
        this.maxAmount = maxAmount;
    }

    /**
     * 获取单笔最小转出
     *
     * @return min_redeem - 单笔最小转出
     */
    public Long getMinRedeem() {
        return minRedeem;
    }

    /**
     * 设置单笔最小转出
     *
     * @param minRedeem 单笔最小转出
     */
    public void setMinRedeem(Long minRedeem) {
        this.minRedeem = minRedeem;
    }

    /**
     * 获取单笔最大转出
     *
     * @return max_redeem - 单笔最大转出
     */
    public Long getMaxRedeem() {
        return maxRedeem;
    }

    /**
     * 设置单笔最大转出
     *
     * @param maxRedeem 单笔最大转出
     */
    public void setMaxRedeem(Long maxRedeem) {
        this.maxRedeem = maxRedeem;
    }

    /**
     * 获取单月最大转出
     *
     * @return max_monthly - 单月最大转出
     */
    public Long getMaxMonthly() {
        return maxMonthly;
    }

    /**
     * 设置单月最大转出
     *
     * @param maxMonthly 单月最大转出
     */
    public void setMaxMonthly(Long maxMonthly) {
        this.maxMonthly = maxMonthly;
    }

    /**
     * 获取单日最大转出
     *
     * @return max_daily - 单日最大转出
     */
    public Long getMaxDaily() {
        return maxDaily;
    }

    /**
     * 设置单日最大转出
     *
     * @param maxDaily 单日最大转出
     */
    public void setMaxDaily(Long maxDaily) {
        this.maxDaily = maxDaily;
    }

    /**
     * 获取每月最大转出次数
     *
     * @return max_number - 每月最大转出次数
     */
    public Integer getMaxNumber() {
        return maxNumber;
    }

    /**
     * 设置每月最大转出次数
     *
     * @param maxNumber 每月最大转出次数
     */
    public void setMaxNumber(Integer maxNumber) {
        this.maxNumber = maxNumber;
    }

    /**
     * 获取投标递增金额
     *
     * @return step_amount - 投标递增金额
     */
    public Long getStepAmount() {
        return stepAmount;
    }

    /**
     * 设置投标递增金额
     *
     * @param stepAmount 投标递增金额
     */
    public void setStepAmount(Long stepAmount) {
        this.stepAmount = stepAmount;
    }

    /**
     * 获取年化收益
     *
     * @return rate - 年化收益
     */
    public BigDecimal getRate() {
        return rate;
    }

    /**
     * 设置年化收益
     *
     * @param rate 年化收益
     */
    public void setRate(BigDecimal rate) {
        this.rate = rate;
    }

    /**
     * 获取平台加息
     *
     * @return add_rate - 平台加息
     */
    public BigDecimal getAddRate() {
        return addRate;
    }

    /**
     * 设置平台加息
     *
     * @param addRate 平台加息
     */
    public void setAddRate(BigDecimal addRate) {
        this.addRate = addRate;
    }

    /**
     * 获取复利利率
     *
     * @return compound_rate - 复利利率
     */
    public BigDecimal getCompoundRate() {
        return compoundRate;
    }

    /**
     * 设置复利利率
     *
     * @param compoundRate 复利利率
     */
    public void setCompoundRate(BigDecimal compoundRate) {
        this.compoundRate = compoundRate;
    }

    /**
     * 获取项目周期-天
     *
     * @return product_time - 项目周期-天
     */
    public Integer getProductTime() {
        return productTime;
    }

    /**
     * 设置项目周期-天
     *
     * @param productTime 项目周期-天
     */
    public void setProductTime(Integer productTime) {
        this.productTime = productTime;
    }

    /**
     * 获取项目周期（按月）  1:0-1个月，3:1-3个月
     *
     * @return term - 项目周期（按月）  1:0-1个月，3:1-3个月
     */
    public Integer getTerm() {
        return term;
    }

    /**
     * 设置项目周期（按月）  1:0-1个月，3:1-3个月
     *
     * @param term 项目周期（按月）  1:0-1个月，3:1-3个月
     */
    public void setTerm(Integer term) {
        this.term = term;
    }

    /**
     * 获取合同模板路径
     *
     * @return agreement_url - 合同模板路径
     */
    public String getAgreementUrl() {
        return agreementUrl;
    }

    /**
     * 设置合同模板路径
     *
     * @param agreementUrl 合同模板路径
     */
    public void setAgreementUrl(String agreementUrl) {
        this.agreementUrl = agreementUrl;
    }

    /**
     * 获取风险提示函路径
     *
     * @return risk_letter_url - 风险提示函路径
     */
    public String getRiskLetterUrl() {
        return riskLetterUrl;
    }

    /**
     * 设置风险提示函路径
     *
     * @param riskLetterUrl 风险提示函路径
     */
    public void setRiskLetterUrl(String riskLetterUrl) {
        this.riskLetterUrl = riskLetterUrl;
    }

    /**
     * 获取购买时要求最低风险评级级别
     *
     * @return risk_level - 购买时要求最低风险评级级别
     */
    public Integer getRiskLevel() {
        return riskLevel;
    }

    /**
     * 设置购买时要求最低风险评级级别
     *
     * @param riskLevel 购买时要求最低风险评级级别
     */
    public void setRiskLevel(Integer riskLevel) {
        this.riskLevel = riskLevel;
    }

    /**
     * 获取状态：1售卖，0停售
     *
     * @return stauts - 状态：1售卖，0停售
     */
    public Integer getStauts() {
        return stauts;
    }

    /**
     * 设置状态：1售卖，0停售
     *
     * @param stauts 状态：1售卖，0停售
     */
    public void setStauts(Integer stauts) {
        this.stauts = stauts;
    }

    /**
     * 获取能否使用加息劵 1可以，0不可以
     *
     * @return is_coupon - 能否使用加息劵 1可以，0不可以
     */
    public Integer getIsCoupon() {
        return isCoupon;
    }

    /**
     * 设置能否使用加息劵 1可以，0不可以
     *
     * @param isCoupon 能否使用加息劵 1可以，0不可以
     */
    public void setIsCoupon(Integer isCoupon) {
        this.isCoupon = isCoupon;
    }

    /**
     * 获取购买锁定期：天
     *
     * @return lock_period - 购买锁定期：天
     */
    public Integer getLockPeriod() {
        return lockPeriod;
    }

    /**
     * 设置购买锁定期：天
     *
     * @param lockPeriod 购买锁定期：天
     */
    public void setLockPeriod(Integer lockPeriod) {
        this.lockPeriod = lockPeriod;
    }

    /**
     * 获取能否使用红包  1:可以 2不能
     *
     * @return is_packet - 能否使用红包  1:可以 2不能
     */
    public Integer getIsPacket() {
        return isPacket;
    }

    /**
     * 设置能否使用红包  1:可以 2不能
     *
     * @param isPacket 能否使用红包  1:可以 2不能
     */
    public void setIsPacket(Integer isPacket) {
        this.isPacket = isPacket;
    }

    /**
     * 获取计息方式：0:T+0,1:t+1,2:t+2
     *
     * @return interest_type - 计息方式：0:T+0,1:t+1,2:t+2
     */
    public Integer getInterestType() {
        return interestType;
    }

    /**
     * 设置计息方式：0:T+0,1:t+1,2:t+2
     *
     * @param interestType 计息方式：0:T+0,1:t+1,2:t+2
     */
    public void setInterestType(Integer interestType) {
        this.interestType = interestType;
    }

    /**
     * 获取备用字段
     *
     * @return remark2 - 备用字段
     */
    public String getRemark2() {
        return remark2;
    }

    /**
     * 设置备用字段
     *
     * @param remark2 备用字段
     */
    public void setRemark2(String remark2) {
        this.remark2 = remark2;
    }
}